<?php
/**
 * LICENSE
 *
 * This source file is subject to the new BSD license that is bundled with this
 * package in the file LICENSE.txt. It is also available through the
 * world-wide-web at this URL: http://dragonjsonserver.de/license. If you did
 * not receive a copy of the license and are unable to obtain it through the
 * world-wide-web, please send an email to license@dragonjsonserver.de. So we
 * can send you a copy immediately.
 *
 * @copyright Copyright (c) 2012 DragonProjects (http://dragonprojects.de)
 * @license http://framework.zend.com/license/new-bsd New BSD License
 * @author Christoph Herrmann <developer@dragonjsonserver.de>
 */
?>
<h3>Version 1.12.0</h3>
<h4>Releasedatum: 15.01.2012</h4>
<h4>Geänderte Pakete</h4>
<ul>
    <li>
        DragonX
        <ul>
            <li>
                Storage
                <ul>
                    <li>Es wurde ein Fehler in der RecordList behoben der bei den "unset...()" Methoden auftrat</li>
                    <li>
                        Die RecordList wurde erweitert um neue Features:
                        <ul>
		                    <li>Alle Methoden funktionieren nun auch mit verschachtelten Listen die man durch die "indexBy...()" Methoden zurück bekommt</li>
		                    <li>Beim entfernen von Keys bleiben die Keys der Sublisten bestehen, nur die Keys der Records werden neu durchnummeriert</li>
		                    <li>Alle "unset...()" Methoden können nun auch rekursiv die Unterlisten durchlaufen</li>
                            <li>Es ist nun möglich alle IDs der Records zurückzusetzen sodass sie als neue Records gespeichert werden können</li>
                            <li>Neben den "unset...()" Methoden gibt es nun auch "get...()" Methoden um gefilterte Listen zurück zu geben</li>
                            <li>Mit der Methode "toUnidimensional()" kann eine mehrdimensionale Listenstruktur wieder zu einer eindimensionalen Liste konvertiert werden</li>
                            <li>Es ist nun möglich per "unsetRecords()" alle Records und per "unsetSublists()" alle Unterlisten zu entfernen</li>
                    		<li>Beim Klonen einer RecordList werden nun rekursiv alle IDs der beinhaltenden Records zurückgesetzt</li>
		                </ul>
                    </li>
                    <li>Die Storage Engines können nun auch mehrdimensionale Listenstrukturen entgegennehmen</li>
                    <li>"saveList()" der Storage Engine des ZendDbAdapaters wirft nun eine Ausnahme wenn das Speichern eines Records Ausnahmen wirft</li>
                    <li>Die Storage Engine des ZendDbAdapters speichert nun eine RecordList mit prepared Statements um bei vielen Records performance zu sparen</li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
<h2>Migration vom Branch 1.11</h2>
<h3>Benötigt</h3>
<ul>
    <li>Alle Methoden der RecordList und Storage Engines haben bisher verschachtelte Listen ignoriert. Diese werden nun standardmäßig rekursiv durchlaufen und die betroffenen Stellen müssen umgestellt werden wenn dies nicht gebraucht wird</li>
    <li>Durch das Ändern des Klonens einer RecordList müssen die Stellen an denen das neue Verhalten nicht gebraucht wird umgestellt werden</li>
</ul>
